package com.xian.d8_extends_field_method;

/**
 * 1．在子类方法中访问成员（成员变量、成员方法）满足:
 * 就近原则，子类没有找子类、子类没有找父类、父类没有就报错!
 * 2．如果子父类中出现了重名的成员，此时如果一定要在子类中使用父类的怎么办?
 * 格式: super.父类成员变量/父类成员方法
 */
public class Test {
    public static void main(String[] args) {
        //目标:理解继承后成员的访问特点:就近原则。
        Dog dog = new Dog();
        dog.run(); //就近原则调子类的
        dog.lookDoor();
        dog.showName();//就近原则
    }

}

class Animal {
    public String name = "动物名";
    public void run() {
        System.out.println("父跑1!!!");
    }

}

class Dog extends Animal {
    public String name = "狗名";

    public void lookDoor() {
        System.out.println("看门lo ！！！");
    }
    public void showName(){
        String name = "局部名";
        System.out.println(name);//局部名
        System.out.println(this.name);//狗名--当前子类对象的name
        System.out.println(super.name);//动物名--找父类的name

        run();//子类的
        super.run();//父类的

    }

    public void run() {
        System.out.println("-----子跑!!!");
    }
}
